今天來試著加入excel功能,
上方先匯入相關函式
import openpyxl
from openpyxl.styles import Font, Alignment
以之前加入PDF的經驗來講
def save_as_excel(filename, itinerary_text):
//這邊會直接把文字檔存成excel
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "行程表"
//開一個工作表並取名
//確認標題列
headers = ["時間", "活動/景點", "交通方式", "Google Maps"]
ws.append(headers)
// 統一格式:對齊 + 粗體
for col in range(1, len(headers) + 1):
ws.cell(row=1, column=col).font = Font(bold=True)
ws.cell(row=1, column=col).alignment = Alignment(horizontal="center", vertical="center")
// 解析行程文字,分配位子
for line in itinerary_text.split("\n"):
if "上午" in line or "下午" in line or "晚上" in line:
ws.append([line.strip(), "", "", ""])
elif "https://maps.google.com" in line:
ws.append(["", "", "", line.strip()])
elif "交通" in line:
ws.append(["", "", line.strip(), ""])
else:
if line.strip():
ws.append(["", line.strip(), "", ""])
//以下為調整不同文字欄的欄寬
ws.column_dimensions["A"].width = 15
ws.column_dimensions["B"].width = 50
ws.column_dimensions["C"].width = 20
ws.column_dimensions["D"].width = 50
wb.save(filename)//儲存
在主程式的地方加上
// Excel的部分
save_as_excel(f"{base_filename}.xlsx", itinerary)
print(f"✅ 行程已存成 {base_filename}.xlsx")
我們就可以得到初步整理的excel檔了